package com.yeyks.commonReference.service.hotel;

import com.yeyks.common.dto.mq.GrabTheOrderBToCMessage;
import com.yeyks.hotel.param.GrabTheOrderServiceGetNowGrabTheOrderedHotelListParam;
import com.yeyks.hotel.param.GrabTheOrderServiceGrabTheOrderParam;
import com.yeyks.hotel.vo.GrabTheOrderServiceGrabTheOrderVo;
import com.yeyks.hotel.vo.HotelInfoHotelSearchVo;
import com.yeyks.hotel.vo.HotelInfoHotelSearchVoHotle;
import com.yeyks.order.dal.domain.OrderPickRecord;
import com.yeyks.search.pojo.param.search.HotelSearchC2bListParam;
import com.yeyks.search.pojo.vo.search.HotelInfoHotelUnionSearchVo;

import java.util.List;

public interface HotelSearchC2bService {

    /**
     * v3.4
     * 保存抢单记录并向服务器发送记录
     */
    GrabTheOrderServiceGrabTheOrderVo grabTheOrder(GrabTheOrderServiceGrabTheOrderParam param);

    /**
     * v3.4
     * 获取目前已抢单的酒店记录
     */
    @Deprecated
    HotelInfoHotelSearchVo getNowAllGrabTheOrderedHotelListVo(GrabTheOrderServiceGetNowGrabTheOrderedHotelListParam param);

    /**
     * v3.4
     * 获取目前自动抢单的5家酒店记录
     */
//    HotelInfoHotelSearchVo getNowAutoGrabTheOrderedHotelListVo(GrabTheOrderServiceGetNowGrabTheOrderedHotelListParam param);

    //将抢单记录转成酒店列表信息 v3.4
    List<HotelInfoHotelSearchVoHotle> convertOrderPickRecordsToGrabTheOrderServiceHotelAndRoomVos(List<OrderPickRecord> orderPickRecords);

    /**
     * v3.4
     * 推送抢单消息
     */
    void sendGrabTheOrderResult(GrabTheOrderBToCMessage message);

    //获取目前已抢单的酒店记录  v3.6
    HotelInfoHotelUnionSearchVo getGrabTheOrderedHotelList(HotelSearchC2bListParam param);
}
